/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package transacoes;

import data.ContatoData;
import data.ProntuarioDO;
import data.ProntuarioData;
import java.util.Vector;
import utils.Transacao;

/**
 *
 * @author Lucas
 */
public class Prontuario {

    public boolean incluir (ProntuarioDO prontuario) throws Exception{

     // validacao das regras de negocio
     if ( (isEmpty(prontuario.getInformacao())) || ( isEmpty(prontuario.getTipoDeInformacao())) ) {
       return false;
     }

     // efetuando a transacao
     Transacao tr = new Transacao();
     try {

       tr.begin();
         ProntuarioData cdata = new ProntuarioData();
         cdata.incluir(prontuario, tr);
       tr.commit();
       return true;
       
     } catch(Exception e) {
         tr.rollback();
         System.out.println("erro ao incluir " + prontuario.getInformacao());
         e.printStackTrace();
     }
     return false;
  } // incluir

  public boolean atualizar(ProntuarioDO prontuario) throws Exception {
     Transacao tr = new Transacao();
         try{
           // inserir validacoes de regras de negocio
           tr.begin();
             ProntuarioData cdata = new ProntuarioData();
             cdata.atualizar(prontuario, tr);
           tr.commit();
           return true;
         } catch (Exception e) {
           tr.rollback();
           System.out.println("erro ao atualizar" + prontuario.getInformacao());
           e.printStackTrace();
         }
         return false;
  } // atualizar
  
  public boolean excluir(ProntuarioDO prontuario) throws Exception {
     Transacao tr = new Transacao();
         try{
           // inserir validacoes de regras de negocio
           tr.begin();
             ProntuarioData cdata = new ProntuarioData();
             cdata.excluir(prontuario, tr);
           tr.commit();
           return true;
         } catch (Exception e) {
           tr.rollback();
           System.out.println("erro ao excluir" + prontuario.getInformacao());
           e.printStackTrace();
         }
         return false;
  } // atualizar

  public ProntuarioDO buscar(int idobj) throws Exception{
     Transacao tr = new Transacao();
         try{
           tr.beginReadOnly();
             ProntuarioData cdata = new ProntuarioData();
             ProntuarioDO c = cdata.buscar(idobj, tr);
           tr.commit();
           return c;
         } catch (Exception e) {
           tr.rollback();
           System.out.println("erro ao buscar" + idobj);
           e.printStackTrace();
         }
         return null;
  } // buscar

  private boolean isEmpty(String s) {
     if (null == s)
       return true;
     if (s.length() == 0)
       return true;
     return false;
  }
  
    private boolean isEmpty_int(int i) {
     if (0 == i){return true;}
     else{return false;}
  }
  
    public Vector pesquisar_medico(int id_funcionario) {
     if ( isEmpty_int(id_funcionario) )
        return null;

     Transacao tr = new Transacao();
     try {
	     tr.beginReadOnly();
           ProntuarioData pdata = new ProntuarioData();
           Vector v = pdata.buscar_medico(id_funcionario, tr);
		 tr.commit();
		 return v;
     } catch(Exception e) {
         System.out.println("erro ao pesquisar " + id_funcionario);
         e.printStackTrace();
     }
     return null;
  } // pesquisar

  public static void main(String[] args) {
      Prontuario c = new Prontuario();
      ProntuarioDO prontuario = new ProntuarioDO();
      try {
            prontuario = c.buscar(6);
                System.out.println(prontuario.getInformacao());
      } catch(Exception e) {
          e.printStackTrace();
      }
  } // main
    
}